package com.css.fxfzcpxx.modules.infoRetrieval.historicalSeismicInfo.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.sql.Time;
import java.util.Date;


/**
 * 震害调查
 */
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@ExcelTarget("JcEarthquakeDamageSurvey")
public class JcEarthquakeDamageSurvey implements Serializable {

    private static final long serialVersionUID = 1L;

    private String jedsId;

    /**
     * 地震事件名称（简称）  震中地名+震级值+“级震级”。例如，四川泸定6.8级地震
     */
    @Excel(name = "地震事件名称（简称）", width = 20, orderNum = "1")
    private String eventAbbreviation;

    /**
     * 参考位置
     */
    @Excel(name = "参考位置", width = 20, orderNum = "2")
    private String referencePosition;

    /**
     * 日期 年月日
     */
    @Excel(name = "日期", width = 20, orderNum = "3")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date jedsDate;

    /**
     * 时间 时分秒
     */
    private Time jedsTime;

    /**
     * 微观震中地名  国家、省、市、县、乡镇、行政村
     */
    private String location;

    /**
     * 宏观震中区域
     */
    private String location1;

    /**
     * 经度
     */
    @Excel(name = "经度", width = 20, orderNum = "4")
    private Double jedsLongitude;

    /**
     * 纬度
     */
    @Excel(name = "纬度", width = 20, orderNum = "5")
    private Double jedsLatitude;

    /**
     * 震级
     */
    @Excel(name = "震级", width = 20, orderNum = "6")
    private String magnitude;

    /**
     * 震源深度
     */
    @Excel(name = "震源深度", width = 20, orderNum = "7")
    private Double depth;

    /**
     * 最高烈度  Ⅰ度（1度）/Ⅱ度（2度）/Ⅲ度（3度）/Ⅳ度（4度）/Ⅴ度（5度）/Ⅵ度（6度）/Ⅶ度（7度）/Ⅷ度（8度）/Ⅸ度（9度）/Ⅹ度（10度）/Ⅺ度（11度）/Ⅻ度（12度）/
     */
    private String maximumIntensity;

    /**
     * 死亡人数
     */
    private Integer deadNumber;

    /**
     * 死亡原因
     */
    private String causeOfDeath;

    /**
     * 受伤人数
     */
    private Integer injuries;

    /**
     * 安置人数
     */
    private Integer numResettled;

    /**
     * 救援力量投入
     */
    private Integer rescueForceInput;

    /**
     * 医疗力量投入
     */
    private Integer medicalForceInput;

    /**
     * 经济损失（亿元）
     */
    private Double lossVolume;

    /**
     * 基础设施破坏情况
     */
    private String infrastructureDamage;

    /**
     * 地质灾害情况
     */
    private String geologicalHazardSituation;

    /**
     * 次生火灾
     */
    private String secondaryFire;

    /**
     * 次生水灾
     */
    private String secondaryFlood;

    /**
     * 次生爆炸
     */
    private String secondaryExplosion;

    /**
     * 危化品泄漏
     */
    private String hazardousChemicalsLeaked;

    /**
     * 附件
     */
    private String attachment;

    /**
     * 震害现象描述
     */
    private String desEarthquakeDamage;

    /**
     * 典型震害照片
     */
    private String jedsZhzp;

    /**
     * 等震线（矢量）
     */
    private String isoline;

    /**
     * 等震线（图片）
     */
    private String isolinePic;

    /**
     * 烈度图
     */
    private String intensityMap;

    /**
     * 备注
     */
    private String note;

    /**
     * 灾评报告
     */
    private String assessment;

    /**
     * 科考报告
     */
    private String investigation;

    /**
     * 救援情况
     */
    private String rescue;

    /**
     * 1(省级)，2(国家级)
     */
    private String sourceFlag;

    /**
     * 0正常1删除
     */
    private String delFlag;

    /**
     * 数据版本
     */
    private String dataVersion;

    private String createUser;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private String updateUser;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 省
     */
    private String province;

    /**
     * 市
     */
    private String city;

    /**
     * 县
     */
    private String county;

    /**
     * 乡
     */
    private String town;

    private String extends1;

    private String extends2;

    private String extends3;

    private String extends4;

    private String extends5;

    private String extends6;

    private String extends7;

    private String extends8;

    private String extends9;

    private String extends10;

}

